{ Statement: http://informatics.mccme.ru/moodle/mod/statements/view3.php?chapterid=448
  Verdict: Accepted
}
uses
	SysUtils, Math;
 
var  	
	x1, y1, x2, y2 : extended;
 
begin
	reset(input,'input.txt');
	rewrite(output,'output.txt');
	read(x1, y1, x2, y2);
	writeln(arccos((x1 * x2 + y1 * y2) / sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2))) : 0 : 16);
end.